Compact peripheral component interconnect (cPCI) is a standardized industrial form-factor implementation of the PCI Local bus I/O standard. As a physical standard, cPCI implements features that are designed to allow for the insertion and removal of I/O modules into a live chassis, for example blind mate connectors and staged length power and signal pins. In addition, as an electrical and protocol standard, there are features in cPCI that allow for inserted I/O modules to be recognized and configured, or removed modules to be de-configured by the host of the I/O bus and the software running on it. Pending removal of a peripheral I/O card is indicated by actuating an extractor handle, which has an integral switch to generate an electrical signal to the I/O bus host. Cards are energized after insertion or de-energized prior to removal by a hot swap controller, which is typically integrated into the host processor card.
Existing implementations are satisfactory for insertion and removal of I/O modules from a bus hosted in a chassis by a single host processor card that includes a hot swap controller. The I/O modules can tolerate immediate shutdown, and shutdown of the single host implies complete shutdown of the unit, and as such, implies graceful operating system shutdown.
While the above-described hot swap mechanisms are adequate when I/O modules are inserted or removed, it proves to be inadequate when host processor cards are swapped out. This is due to the fact that the host processor cards typically run operating system and application code that cannot tolerate the immediate power shutdown associated with the removal process, due to the caching of storage transactions in volatile memory. Also, the hot swap controller is typically integrated into a host processor card, which means that the host processor card cannot typically turn itself on or off, and which also means that if the host processor card needs to be replaced, all other modules will be affected. This problem is greatly exacerbated in a system where there are no I/O modules, but primarily only host processor cards connected via a switched network fabric. In a system with multiple independent hosts per chassis connected through a switched network fabric, the existing technology fails to guarantee that host processor cards with operating systems and applications will be gracefully shutdown.
It would be desirable to provide a controlled mechanism by which a host processor card can participate in the standard cPCI hot swap protocol, and still allow for a graceful shutdown required for data integrity. It would be desirable to provide a consistent hot swap system for I/O modules and host processor cards in a system with multiple hosts, which guarantees graceful shutdown of operating systems and applications with facilities to override if necessary.